package com.wx.mall.user.service;

import com.wx.mall.common.api.CommonPage;
import com.wx.mall.common.api.CommonResult;
import com.wx.mall.common.vo.user.UserReqVo;
import com.wx.mall.user.dto.DisUseDto;
import com.wx.mall.user.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wx.mall.user.vo.DisUseVo;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author j
 * @since 2020-03-20
 */
public interface IUserService extends IService<User> {

    /**
     * 根据ID进行查询
     * @param userId 用户ID
     * @return 列表数据
     * */
    User getListById(Long userId);

    /**
     * 根据某字段排序数据
     * @param sort 0为会员等级，1为消费金额，2为订单数量s
     * */
    List<User> getListByOder(Integer pageNum, Integer pageSize, int sort);

    /**
     * 根据筛选条件查询全部的分页数据
     * @param pageNum 第几页
     * @param pageSize 条数
     *
     * */
    List<User>  getListByUser(Integer pageNum, Integer pageSize, Long userNumber,
                              String userName, String userSource,
                              Integer userMsId, String userJob,
                              Date userCreateTime, int sort);

    /**
     * 批量修改
     * @param
     * @param
     *
     * */
    int setListByIdList(UserReqVo vo);


    /**
     * 获取到用户优惠券总计数数据
     * @param
     *
     * */
    CommonPage<DisUseVo> getTotal(DisUseDto dto);


    /**
     * 根据ID进行查询
     * @param userId 用户ID
     * @return 列表数据
     * */
    DisUseVo getListByIdTwo(Long userId);
}
